The invention relates generally to tools for measuring the performance of mass storage systems, and more particularly, to a method and apparatus for measuring the performance of a system having a plurality of the disk drive elements controlled through a disk drive controller connected to a plurality of host computers.
As the size and complexity of computer systems increase, including both the number of host computers and the number and size of disk drive elements, it becomes increasingly important to measure and understand the functions and parameters which affect the performance of the system. The performance of the system can be typically measured in terms of input/output (I/O) response times, that is, the time it takes for a read or write command to be acted upon, as far as the host computer is concerned, by the disk drive controller system.
It is well known, in the field, to measure, usually using a single parameter, the instantaneous or average response time of the system. Typically, a host computer outputs one or more I/O requests to the disk drive controller, and then measures the time for a response to be received from the disk drive controller. This time duration, while representative of the response of a specific read or write command to the disk drive system, is most often not representative of the actual performance which can be obtained from the system.
A similar distortion, not representative of system performance, can occur when average response time values are determined. For example, a disk controller, using a cache memory in its write process, can have substantially different write time responses depending upon the availability of cache memory. An average response (the average of, for example, a write where cache was available and one where cache was not available) would be misleading and meaningless.
The performance of a large storage system is particularly difficult to measure since more than one of the host computers, which connect to the disk drive controller(s), can operate at the same time, in a serial or in a parallel fashion. As a result, a plurality of disk drive elements, usually arranged in a disk drive array, operating in either an independent fashion, a RAID configuration, or a mirrored configuration, for example, can have a significant yet undetectable bandwidth or operational problem which cannot be addressed, or discovered, when commands are sent only from a single host computer.
When running the performance tests on a system such as the EMC symmetrix storage system, one is usually interested in determining the maximum performance of components of the system, such as a host adaptor or SCSI adaptor (SA), a host adaptor port, a disk adaptor (or DA) etc., as well as the performance of the entire system. When testing a component, such as an SA port, it is desirable that the I/Os to and from the host adaptor be spread out across the back end components, that is, across the DA""s, DA processors, DA ports, disks, and hypers, so that the SA port performance measured is not constrained by some other component in the system. The phrase-used to describe this situation is xe2x80x9cnarrow in the front and wide in the backxe2x80x9d. Similarly the phrase xe2x80x9cnarrow in the back and wide in the frontxe2x80x9d describes the case where one wants to measure the performance of a back end component, such as a DA disk drive, etc., unconstrained by the front end.
The invention relates to a method for measuring the system performance of a mass storage system having a plurality of disk drive storage elements controlled by a disk drive controller. Typically the disk drive controller has a cache memory. The controller receives commands and data from, and returns at least data to, a plurality of host computers.
The method relates, therefore, to configuring a mass storage system for measuring system performance, and for improving such performance. The system includes a plurality of disk storage elements, each element having at least one hyper, and connected to a disk storage controller. The disk storage controller is connected to at least one of the host computers defining a plurality of logical units (LUN""s), the storage controller being defined in its configuration by a front-end hierarchy and a back-end hierarchy. The method features balancing assignments of LUN""s across the back-end hierarchy, and marginally balancing the assignments of disk drive elements and hypers of the drive elements across the back-end hierarchy.
The method, in an alternate aspect, features balancing assignments of components of the back-end hierarchy to LUN""s of the front end hierarchy, and marginally balancing those assignments.
In particular embodiments of the invention, the method of marginally balancing the disk drive elements features monitoring a first set of drive numbers with counts equal to the minimum for the entire system, monitoring a second set of disk numbers with assignment counts equal to a minimum across a first disk adaptor port to be assigned, the disk adaptor port being in the back-end of the storage controller hierarchy, and selecting, if possible, a disk drive from an intersection of the first and second sets.
In another aspect, the invention relates to software stored on a computer readable medium to perform the function of configuring a mass storage system for measuring system performance, this system having a plurality of disk storage elements, each element having at least one hyper and connected to a disk storage controller, the disk storage controller being connected to at least one host computer and the host computer defining a plurality of logical units. The storage controller defines its configuration in a front-end hierarchy and a back-end hierarchy. The function features balancing assignments of LUN""s across the back-end hierarchy and marginally balancing assignments of disk drive elements and hypers of the disk drive elements across the back-end hierarchy. In a particular embodiment of the invention, when the marginal balancing function does not maintain a marginal balance across the hypers, the software further features the function of marginally balancing based solely upon the hypers of the disk drive elements across the back-end hierarcy.
Advantageously, therefore, the system provides statistics describing the dynamic performance of components of the mass storage system, from the host adaptor ports to the disk drive elements and hypers, by achieving a balanced operation so that other system components do not constrain or adversely affect the component being tested. The method and apparatus of the invention further advantageously enable the user to configure a balanced configuration to enable the dynamic performance of the system component to be repeatedly enabled and tested for consistent performance.